DEFINITION MODULE Event;

   (* This module defines procedures for processing the various *)
   (* GEM events.                                               *)


   VAR AccessoryMenuId : INTEGER;

      (* Contains the accessory menu id of the application. *)


   PROCEDURE Initialize ();

      (* Initialize the subsystems managed by the Event module. *)


   PROCEDURE ProcessTimer;

      (* Process a time event. *)


   PROCEDURE ProcessMessage ( WindowId      : INTEGER;
                              VAR MsgBuffer : ARRAY OF INTEGER );

      (* Process a message event. *)


   PROCEDURE ProcessButton ( WindowId    : INTEGER;
                             MouseButton : INTEGER;
                             ModifierKey : INTEGER;
                             Clicks      : INTEGER );

      (* Process a mouse button event. *)


   PROCEDURE ProcessKey ( WindowId    : INTEGER;
                          Key         : INTEGER;
                          ModifierKey : INTEGER );

      (* Process a keyboard event. *)


END Event.

